package com.yourenbang.lingyun.transaction.web.domain.dto;

import com.yourenbang.lingyun.constants.enums.ChannelIdEnums;
import com.yourenbang.lingyun.constants.enums.FundBillType;
import com.yourenbang.lingyun.constants.enums.PlatNoEnums;
import com.yourenbang.lingyun.core.base.validator.EnumValue;
import lombok.Data;

import javax.validation.constraints.DecimalMin;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 变动账户入参
 * {@link ChangeFundAccountV2DTO}
 */
@Deprecated
@Data
public class ChangeFundAccountDTO implements Serializable {

    /**
     * 加帐对象
     */
    @NotBlank(message = "加帐对象不能为空")
    private String userBaseId;

    /**
     * 加帐金额
     */
    @DecimalMin(value = "0.0",inclusive = false,message = "加帐金额有误")
    private BigDecimal changeAmount;
    private Integer sysAccountType;
    private Integer userAccountType;

    @EnumValue(enumClass= ChannelIdEnums.class, message = "品牌类型未通过校验")
    private Short channelId;

    @EnumValue(enumClass= PlatNoEnums.class, message = "平台类型未通过校验")
    private Short platNo;
    private String orderNo;


    private FundBillType fundBillType;

    /**
     * 操作人
     */
    private String operator;

    /**
     * 是否手动 0.不手动（默认） 1.手动
     */
    private Boolean manualFlag;

    private String detail;
    private Boolean showFlag;

    /**资金账户创建时间(迁移用)*/
    private LocalDateTime createTime;
    /**资金账户更新时间(迁移用)*/
    private LocalDateTime updateTime;

    /**
     * 资金类型 合并提现以后新加，快收可能为空
     */
    private Integer accountMainJournalType;
}
